﻿namespace CsharpPro._1009;

public class Flower
{
    // 使用for循环判断水仙花数的函数
    public  bool Judge(int num)
    {
        if (num < 1) // 水仙花数为正整数
            return false;

        // 步骤1：计算数字的位数
        int length = 0;
        int tempForLength = num;
        for (; tempForLength > 0; tempForLength /= 10)
        {
            length++; // 每循环一次位数加1
        }

        // 步骤2：计算各位数字的n次幂之和（使用for循环）
        int sum = 0;
        int temp = num;
        for (; temp > 0; temp /= 10)
        {
            int digit = temp % 10; // 取最后一位数字
            sum += (int)Math.Pow(digit, length); // 累加n次幂
        }

        // 步骤3：判断是否为水仙花数
        return sum == num;
    }
}